home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PRINTER / LJVGA161.ARJ / LJVGA.TXT < prev    next >
Text File  |  1992-08-18  |  28KB  |  713 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12. LJVGA:  A VGA to HP Laserjet Print Screen Utility
  13.  
  14. Version 1.61
  15.  
  16. Copyright (c) 1992 Ares Technologies.  All Rights Reserved.
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51. VGA is a trademark of International Business Machines
  52. Corporation.
  53. Hewlett-Packard and HP are registered trademarks of Hewlett-
  54. Packard Corporation.
  55.  
  56.  
  57. LJVGA:  A VGA to HP Laserjet Print Screen Utility
  58.  
  59.  
  60. LJVGA is Terminate-and-Stay-Resident (TSR) program that allows
  61. you to print any VGA or Super VGA screen to an HP Laserjet or
  62. compatible printer.  With a memory overhead of only 8.5k, you can
  63. print anything you can display on your VGA card - graphics, text,
  64. even hi-res text and 256-color screens!
  65.  
  66. LJVGA is simple to use.  Just run the command LJVGA, and you're
  67. ready to print anything!  Hitting the Print Screen key (PrtSc)
  68. will activate LJVGA, causing it to print your current screen to
  69. the printer.  Text screens print just like they look, with lines
  70. and other special characters you don't usually get.  Graphics
  71. screens are automatically scaled to the resolution and page you
  72. choose.
  73.  
  74.  
  75. NEW AND IMPROVED!
  76.  
  77.  
  78. If you have previously used LJVGA, you will find a number of
  79. useful enhancements in this version.  Perhaps the most popular of
  80. these is the new orientation option, which now allows you to
  81. print your graphics screens in landscape mode!  Also new are a
  82. selection of dither algorithms and contrast and brightness
  83. controls.  With these new controls you have much more control
  84. over the appearance of your printed output.
  85.  
  86. The dither algorithms in this version have changed somewhat.
  87. Previous versions of LJVGA used one dither - the Floyd-Steinberg
  88. algorithm.  Version 1.61 adds new variations of the Bayer
  89. algorithm.  These two dithers are 30% faster than the Floyd-
  90. Steinberg algorithm, but produce a poorer image.  The older Floyd-
  91. Steinberg method is still available, but is no longer the
  92. default.  If you notice a difference in your output with this
  93. version, it is because you are now using the Bayer algorithms.
  94. See the section on Using LJVGA for instructions on choosing the
  95. selecting the appropriate algorithm.
  96.  
  97.  
  98. USING LJVGA
  99.  
  100.  
  101. Using LJVGA is simple.  Running the command LJVGA will load LJVGA
  102. as a TSR.  LJVGA will load with its default options, allowing you
  103. to print most any text or graphics screen by simply hitting the
  104. Print Screen key.  You can modify the default options by using a
  105. combination of command-line switches, either the first time you
  106. run LJVGA, or later to modify the options already loaded in
  107. memory.  LJVGA cannot be loaded twice.  If you have already
  108. loaded LJVGA, it will update the copy in memory when you run it
  109. again.
  110.  
  111. LJVGA supports several different command-line switches.  These
  112. can be entered alone or as a group to change the default behavior
  113. of LJVGA.  Be aware that when you use LJVGA to update a TSR
  114. already in memory, all options are reset to their defaults.
  115. Therefore, you must be careful to use all appropriate options
  116. each time you run LJVGA.
  117.  
  118. LJVGA can also read its options from the DOS environment.  When
  119. it is run, LJVGA will look for the environment variable "LJVGA".
  120. If "LJVGA" is set, LJVGA will read the value as if it were
  121. entered on the command-line.  The environment is read first, so
  122. settings entered on the command-line will override any settings
  123. entered in the environment.  See the examples below for more
  124. information.
  125.  
  126.  
  127. The possible options are listed below.
  128.  
  129. -?      Print synopsis.  This option prints a copyright notice
  130.         and a short summary of options.  No other action is taken
  131.         if you use this option.
  132.  
  133. -d      Disable LJVGA.  This option will cause LJVGA to return
  134.         control to the previously loaded print-screen routines
  135.         (usually in the system BIOS).  This option does not
  136.         remove LJVGA from memory.
  137.  
  138. -e      Enable LJVGA.  This option will enable LJVGA if it has
  139.         been previously disabled.  LJVGA will regain control with
  140.         the settings it had when it was disabled.
  141.  
  142. -u      Unload LJVGA.  This option will disable LJVGA and remove
  143.         it from memory.  LJVGA will only unload if it is the last
  144.         TSR loaded.
  145.  
  146. -n      Instant print.  This option will cause LJVGA to
  147.         immediately print the current screen without becoming
  148.         resident.  This option can be used to run LJVGA from
  149.         batch files, and could be used to create a primitive file
  150.         printing program.  This option will cause LJVGA to ignore
  151.         any previously loaded copy, and will use only default
  152.         options and options set on the command-line.
  153.  
  154. -lN     Set printer port.  This option allows you to change the
  155.         printer port LJVGA will print to.  Possible values for N
  156.         are 1 for LPT1, 2 for LPT2, or 3 for LPT3.  You can also
  157.         set N to 0 to print to PRN:.  Note: Setting the printer
  158.         port to 0 will also force LJVGA into DOS print mode
  159.         (explained below).
  160.  
  161. -pN     Set print mode.  This option allows you to change the
  162.         method by which LJVGA sends data to the printer.  This is
  163.         useful in cases where you are using certain print
  164.         redirectors or when you have a defective BIOS.  Possible
  165.         values for N are listed below.
  166.  
  167.         0 - BIOS print mode.  All printing is done through calls
  168.             to the system BIOS.  This is the default option and
  169.             is the fastest print mode.  This option should be
  170.             chosen except in special situations.
  171.  
  172.         1 - BIOS print mode with DOS Signalling.  This print mode
  173.             is intended for use with some network software.  When
  174.             using this mode, LJVGA prints all data through the
  175.             system BIOS, but also uses DOS to open and close a
  176.             phantom print file.  This method can be used on
  177.             certain networks to signal the beginning and ending
  178.             of a print job.
  179.  
  180.         2 - DOS print mode.  When using this print mode, LJVGA
  181.             prints all data through DOS calls.  This option is
  182.             included for situations in which compatibility is a
  183.             problem, or where output should be redirected to
  184.             special DOS devices.
  185.  
  186. -rN     Set resolution.  This option allows you to set your
  187.         printer's graphics resolution in dots-per-inch (DPI).
  188.         Possible values for N are 75, 100, 150, and 300.  The
  189.         default is 300 DPI.  LJVGA will automatically scale
  190.         graphics to the resolution you choose.
  191.  
  192. -ox     Set page orientation.  This option allows you to select
  193.         portrait (upright) or landscape (sideways) graphics.  Set
  194.         x to "p" for portrait or "l" for landscape.  The default
  195.         is portrait graphics.
  196.  
  197. -f      Suppress form-feed.  Normally, LJVGA will eject the page
  198.         from the printer once it has finished the screen.  This
  199.         option will cause LJVGA to leave the page in the printer
  200.         until it is full.
  201.  
  202.         NOTE:  You may run out of memory while printing high-res
  203.         graphics with this switch.  Make sure your printer has
  204.         enough memory for the whole page!
  205.  
  206.         Also, LJVGA normally resets the printer options to
  207.         produce the cleanest print possible.  It cannot do this
  208.         while using the -f option.  If you experience problems
  209.         printing with the -f option, manually reset your printer
  210.         before printing.
  211.  
  212. -i      Invert colors.  This option will invert the colors for
  213.         graphics screens so that white on the screen will print
  214.         as black and vice-versa.  Other colors are similarly
  215.         reversed, printing a "negative" of the screen image.
  216.  
  217. -aN     Select dither algorithm.  This option allows you to
  218.         select the method LJVGA uses for creating the output
  219.         image.  The "dither" is the method by which LJVGA
  220.         determines the pattern of dots to print on the output to
  221.         simulate different colors.  The different algorithms
  222.         produce different results and are useful for different
  223.         types of applications.  Experiment with these options to
  224.         see which works best for you.  Possible values for N are
  225.         listed below.
  226.  
  227.         0 - Bayer-Dispersed algorithm.  This is the fastest
  228.             dither method and is the default.  This is a good
  229.             general-purpose algorithm and is characterized by
  230.             cross-hatch patterns in the output.
  231.  
  232.         1 - Bayer-Clustered algorithm.  This is a modification of
  233.             the Bayer-Dispersed algorithm and is commonly
  234.             referred to as "halftoning."  This method produces a
  235.             pattern of different size dots producing an image
  236.             similar to the pictures in a newspaper.
  237.  
  238.         2 - Bayer Semi-Clustered.  This is a variation of the
  239.             Bayer-Clustered algorithm that produces four smaller
  240.             dot rather than one large dot.  Results are
  241.             comparable to the Bayer-Clustered algorithm, but the
  242.             resulting image is more pleasing due to the smaller
  243.             dot size.
  244.  
  245.         3 - Bayer Semi-Clustered Vertical algorithm.  This is a
  246.             modification of the Bayer algorithms which produces
  247.             vertical line patterns in the image.  This produces a
  248.             very pleasing, consistent image, but results in very
  249.             poor contrast.
  250.  
  251.         4 - Floyd-Steinberg algorithm.  This dither method is
  252.             slower than the Bayer algorithms, but produces much
  253.             better output for continuous-tone images.  This is
  254.             the same algorithm used in the original versions of
  255.             LJVGA.
  256.  
  257. -cN     Set contrast.  This option allows you to change the
  258.         contrast of the printed output.  Areas of similar color
  259.         can be blended or accentuated using this option.
  260.         Possible values for N range from -32 to 1024.  Negative
  261.         values decrease the contrast, with -32 corresponding to
  262.         50% grey output.  Positive values increase the contrast,
  263.         with 1024 corresponding to an image with only pure black
  264.         and white.  0 is the default and results in no
  265.         adjustment.
  266.  
  267. -bN     Set brightness.  This option allows you to change the
  268.         brightness of the printed output.  The output can be made
  269.         "blacker" or "whiter" with this option.  Possible values
  270.         for N range from -64 to 64.  Negative values increase the
  271.         black level, with -64 corresponding to a completely black
  272.         image.  Positive values increase the white level, with 64
  273.         corresponding to a completely white image.  0 is the
  274.         default and results in no adjustment.
  275.  
  276.         Note:  At 300 DPI on most laser printers, the black dots
  277.         tend to overwhelm the white space, resulting in fairly
  278.         dark images.  This can be compensated by increasing the
  279.         brightness.  Good results have been achieved print GIF
  280.         images with a brightness of approximately 16.
  281.  
  282. -sN,N   Set scaling.  This option allows you to control the size
  283.         of the printed image.  LJVGA will normally print the
  284.         largest image that will fit on the page at the given
  285.         orientation and resolution, but you can scale the size up
  286.         or down with this option.
  287.  
  288.         This option takes a pair of numbers representing the x-
  289.         and y-scaling respectively.  Each number represents the
  290.         number of printed pixels that will be used to represent
  291.         each screen pixel in the respective direction.  For
  292.         example, LJVGA normally uses the values 3,3 when printing
  293.         a 640x480 screen at 300 DPI in portrait orientation.
  294.         This means that for each pixel on the screen, LJVGA will
  295.         print a box 3 pixels wide by 3 pixels long.
  296.  
  297.         These values come from the following computation.  Most
  298.         laser printers can print approximately 2450 pixels across
  299.         at 300 DPI.  We want to represent 640 screen pixels
  300.         across, so 2450 / 640 = 3.83.  Since LJVGA cannot print
  301.         fractional pixels, it will print 3 pixels across for
  302.         every screen pixel.  This is the x value.  The y value is
  303.         computed from the x value to produce the correct aspect
  304.         ratio on output.
  305.  
  306.         With this option, you can set the scaling for a smaller
  307.         image or for a larger image.  If you specify a scaling
  308.         factor greater than the maximum, the output image will be
  309.         clipped to the dimensions of the page.
  310.  
  311.         You do not have to set both values.  If either number
  312.         given is 0, the scaling value for that direction will be
  313.         determined from the value for the other direction in
  314.         order to preserve the correct aspect ratio.  Setting both
  315.         values to 0 will result in the default, maximum-size
  316.         image.
  317.  
  318.         For your reference in determining the appropriate scaling
  319.         values, LJVGA assumes that the output must fit on a 8.25"
  320.         x 10" page.  The number of output pixels that this
  321.         represents varies depending on the resolution chosen.
  322.         Also, note that the x and y values correspond to screen
  323.         dimensions, and thus may change depending on the page
  324.         orientation selected.
  325.  
  326. -z      Load debugging code.  This option will cause LJVGA to
  327.         load an additional 1k of debugging code.  This option can
  328.         only be specified the first time LJVGA is loaded and
  329.         cannot be disabled without unloading LJVGA.  Once this
  330.         option is loaded, LJVGA will produce an extra page
  331.         containing information about the state of your VGA card
  332.         each time you press the Print Screen key.  This option
  333.         should be used on the advice of Ares Technologies
  334.         personnel to assist in resolving printing problems.
  335.  
  336. -xN     Set VGA card type.  This option allows owners of ATI VGA
  337.         boards to use LJVGA.  Because the ATI BIOS does not
  338.         return certain parameters correctly, this option is
  339.         necessary to print the ATI high-resolution modes.  Owners
  340.         of all other board types should use the default BIOS
  341.         option.  Possible values for N are listed below.
  342.  
  343.         0 - BIOS support.  This is the default for LJVGA.
  344.  
  345.         1 - ATI hardware support.  This option allows LJVGA to
  346.             access the ATI hardware directly.
  347.  
  348.  
  349. EXAMPLES
  350.  
  351.  
  352. LJVGA             : Load LJVGA into resident memory using the
  353.                     default options.
  354.  
  355. LJVGA -l2         : Load LJVGA into resident memory and redirect
  356.                     output to LPT2:.
  357.  
  358. LJVGA -ol -a4     : Load LJVGA into resident memory and choose
  359.                     landscape graphics with Floyd-Steinberg
  360.                     dithering.
  361.  
  362. LJVGA -r75 -n     : Print the current screen at 75 DPI.  Do not
  363.                     load LJVGA into resident memory.
  364.  
  365. LJVGA -s1,1       : Load LJVGA into resident memory and set the
  366.                     scaling so that each screen pixel is
  367.                     represented by one printer pixel.
  368.  
  369. LJVGA -s0,4       : Load LJVGA into resident memory and set the
  370.                     scaling so that each screen pixel is
  371.                     represented by 4 printer pixels down and by
  372.                     an appropriate number of printer pixels
  373.                     across.
  374.  
  375. LJVGA -d          : Disable a previously loaded copy of LJVGA and
  376.                     return print-screen control to the system
  377.                     BIOS.
  378.  
  379. set LJVGA=-b16 -ol
  380. LJVGA             : Load LJVGA into resident memory and choose
  381.                     landscape graphics with brightness set to 16.
  382.  
  383. set LJVGA=-ol -a4
  384. LJVGA -a0         : Load LJVGA into resident memory and choose
  385.                     landscape graphics.  Choose Bayer-Dispersed
  386.                     dithering.  (The command line option -a0
  387.                     overrides the environment option -a4.)
  388.  
  389.  
  390. HOW IT WORKS
  391.  
  392.  
  393. LJVGA has two primary jobs - printing text and printing graphics.
  394. Printing text is straightforward.  LJVGA simply reads the text
  395. from the screen and sends it to the printer.  LJVGA has an
  396. advantage over the built-in print screen routines, however, since
  397. it knows how to control the laser printer.  Thus, LJVGA can set
  398. up the printer to print the extended characters such as the line-
  399. drawing characters.  It can also set up the printer to handle
  400. special screen modes such as the 132x60 text modes available on
  401. some SuperVGA cards.
  402.  
  403. Printing graphics is where LJVGA is most useful.  DOS has only
  404. very basic graphics printing capability - and even then this
  405. ability is only made available by loading large TSRs.  LJVGA
  406. solves this shortcoming by providing high-quality printing in a
  407. very small package - approximately 8.5k resident.
  408.  
  409. The biggest problem faced by LJVGA is how to produce a
  410. recognizable image of the screen, which can have up to 256 colors
  411. out of a palette of 262,144 colors, on the laser printer, which
  412. has only 2 colors - black and white.  LJVGA solves this problem
  413. by a method called dithering.  This is a method by which a larger
  414. number of colors can be represented by using patterns of dots
  415. chosen from a smaller number of colors.  In this case, that
  416. allows up to 256 colors to be represented by different patterns
  417. of only two colors.
  418.  
  419. Actually, colors images cannot be accurately reproduced on a
  420. black-and-white printer (obviously!)  Therefore, LJVGA actually
  421. produces a print that is based on the intensities of the colors
  422. on the screen.  This is the same as saying that if you were to
  423. convert the colors on screen to shades of grey, LJVGA produces an
  424. approximation of the shades-of-grey screen.  This works because
  425. the human eye is more sensitive to certain colors than to others,
  426. thus these colors can be approximated by different shades of
  427. grey.  Thus, by printing areas of dots of varying densities,
  428. LJVGA can approximate these grey shades.  Printing just a few
  429. dots results in bright areas, while printing more dots results in
  430. dark areas.
  431.  
  432. LJVGA uses two major varieties of dithering to produce these dot-
  433. densities.  The first, fastest method is known as ordered or
  434. Bayer dithering and uses a predefined pattern to reproduce each
  435. color.  This pattern contains a set of numbers representing color
  436. threshold values.  As the image is generated, each screen pixel
  437. is compared against the threshold value at the spot in the
  438. pattern where that pixel will be plotted.  If the pixel color is
  439. greater than the threshold value, a dot is printed.  Otherwise,
  440. no dot is printed.  Thus the output image has a regular, ordered
  441. appearance, because it is based completely on the original
  442. pattern.
  443.  
  444. LJVGA uses two different patterns for this method.  The first is
  445. a "dispersed" pattern which produces dots in a widely spread
  446. pattern.  Because of the way this pattern is generated, it
  447. produces a characteristic cross-hatched output.  The second
  448. pattern is a "clustered" pattern.  In this pattern, similar
  449. threshold values are grouped closely together to produce large
  450. dots.  This pattern generates an image which appears to be made
  451. up of different sized dots, much like the pictures in a
  452. newspaper.
  453.  
  454. The second variety of dithering is known as random dithering
  455. because it produces dots in a seemingly random manner.  This
  456. dither is also known as an error-dispersion dither because of the
  457. way it produces dots.  This method works in two steps.  In the
  458. first step, the current screen pixel is compared against a
  459. predefined threshold value.  If the color is greater than the
  460. threshold, a dot is printed, otherwise, no dot is printed.  The
  461. second step compares what is actually printed against what should
  462. be printed.  This produces an "error" value which is divided up
  463. and added to the neighboring screen pixels.  This is repeated for
  464. every pixel in the image.  Thus if a dot is supposed to be dark
  465. grey and we plot black, the error value generated reduces the
  466. chance that the next pixel plotted will also be black, ensuring
  467. that we get an area of "dark grey" on the output.
  468.  
  469. This method is slower than the ordered dithers because of the
  470. math involved, but because it is based on the image itself, and
  471. not on a predefined pattern, it significantly reduces the chances
  472. of incidental patterns ("artifacts") emerging in the final
  473. output.  There are many variations of random dithering, but LJVGA
  474. uses only one of these, the Floyd-Steinberg dither.
  475.  
  476.  
  477. ADDITIONAL NOTES
  478.  
  479.  
  480. Printing graphics on a laser printer requires large amounts of
  481. memory.  If you are planning on printing graphics screens at 300
  482. DPI, you should have at least 1 megabyte of memory in your laser
  483. printer.  512k should be sufficient for printing text and
  484. graphics at lower resolutions.
  485.  
  486. LJVGA is only guaranteed to work with VGA screen modes that are
  487. supported by video BIOS.  Most SuperVGA cards have extended BIOS
  488. chips which support all of the vendor-defined modes and thus will
  489. work with LJVGA.  However, some graphics packages such as PICEM
  490. and VPIC can directly program VGA cards into modes not supported
  491. by BIOS.  LJVGA is NOT guaranteed to work with these modes.
  492.  
  493. For the future, we plan to enhance LJVGA to support VGA hardware
  494. directly.  This will increase its speed and flexibility, and will
  495. allow it to print these special modes.  If you discover any
  496. unsupported modes, please let us know about them and we will
  497. consider them when the enhancements are made.
  498.  
  499.  
  500. REPORTING BUGS
  501.  
  502.  
  503. If you discover what seems to be a bug in LJVGA, please let us
  504. know!  If we verify a bug you discover, you will receive a free
  505. registered version of the fixed program!
  506.  
  507.  
  508.  
  509.  
  510. CURRENT KNOWN PROBLEMS
  511.  
  512.  
  513. Only supports video BIOS-supported modes.
  514.  
  515. When using print modes 1 or 2, LJVGA cannot be invoked while a
  516. DOS function is active.  This is due to an untraceable bug and
  517. will be corrected soon.
  518.  
  519.  
  520. LJVGA RELEASE HISTORY
  521.  
  522.  
  523. v0.50  (910307)
  524.  
  525. Initial release.
  526.  
  527. v1.00  (910326)
  528.  
  529. Added resolution option.
  530. Added printer port option.
  531. Added error detection for missing or off-line printers.
  532. Added the ability to detect and update a previously loaded copy.
  533.  
  534. v1.10  (910622)
  535.  
  536. Added the disable/enable options.
  537.  
  538. v1.20  (910730)
  539.  
  540. Added suppress form-feed option.
  541.  
  542. v1.30  (920304)
  543.  
  544. Fixed a bug with command-line parsing under MS-DOS 4.0/5.0.
  545. Added invert option.
  546. Added unload option.
  547.  
  548. v1.50  (920422)
  549.  
  550. Added instant print option.
  551. Added print mode option.
  552. Added page orientation option.
  553. Added Bayer dithers.  Up to 30% faster than previous dither.
  554. Added contrast option.
  555. Added brightness option.
  556. Added scaling option.
  557. Added debugging option.
  558. Fixed an error in the Floyd-Steinberg dithering option.  Output
  559.      is now much improved.
  560. Added better interrupt handling for improved safety and error
  561.      control.
  562. Fixed a bug which would allow LJVGA to load when using the
  563.      enable/disable controls.
  564. Fixed a bug which prevented LJVGA from finding a previously
  565.      loaded copy in fragmented memory.
  566. Fixed text print routine so that control characters are printed,
  567.      not interpreted.
  568.  
  569. v1.52  (920608)
  570.  
  571. Corrected color mapping for 16-color modes.
  572. Corrected control character printing.  This bug was only
  573.      noticable on non-HP printers.
  574.  
  575. v1.53  (920627)
  576.  
  577. Added use of DOS print-screen busy flag.
  578. Made resident section more crash-proof.
  579. Added serial numbering.
  580.  
  581. v1.61  (920814)
  582.  
  583. Added two new Bayer dithers.
  584. Modified to keep only one dither pattern in active memory.
  585. Increased support for older networks.
  586. Fixed a problem with the DOS print-logging flag in Gateway
  587.      machines.
  588. Added color resolution checks for certain VGA adapters.
  589. Added ATI-specific code.
  590.  
  591.  
  592. TECHNICAL SUPPORT
  593.  
  594.  
  595. If you have any questions or comments about LJVGA, contact:
  596.  
  597.     Mail:       Ares Technologies
  598.                 243 Fairfax Rd.
  599.                 Blacksburg, VA  24060
  600.  
  601.     Phone:      703-552-5983
  602.  
  603.     E-Mail:     CIS 73237,1572
  604.  
  605.  
  606. Ares Technologies is also available for custom programming
  607. projects.  Please feel free to contact us if you would like to
  608. discuss your programming needs.
  609.  
  610.  
  611.  
  612.  
  613. REGISTRATION
  614.  
  615.  
  616. If you find LJVGA useful and convenient, a registration of $10 or
  617. more would be appreciated.
  618.  
  619. If you send $20 or more, you will receive a disk containing the
  620. current version of the software.  You will also receive a disk
  621. with the next major version when it becomes available.
  622.  
  623. For a fee of $50, you will receive a lifetime registration for
  624. LJVGA.  This will entitle you to every major and minor version of
  625. LJVGA as they are released.  These will be automatically sent to
  626. you free of additional charge.
  627.  
  628. Site licenses are available for commercial and multiple user
  629. organizations.  Please read the file REGISTER.TXT for more
  630. information.
  631.  
  632. Reseller information is available for developers wishing to
  633. bundle pre-registered versions of LJVGA with their own software.
  634. Please contact Ares Technologies directly for more information.
  635.  
  636. Please state the current version of the software you are using.
  637. Send check or money order to:
  638.  
  639.                         Ares Technologies
  640.                          243 Fairfax Rd.
  641.                       Blacksburg, VA  24060
  642.  
  643.  
  644. You can also order LJVGA from the Public Software Library with
  645. your Visa, MasterCard, American Express, or Discover card at one
  646. of the following numbers.  These numbers are for ordering only.
  647. For all other information concerning LJVGA, please contact Ares
  648. Technologies directly.
  649.  
  650.     Mail:       PsL
  651.                 P.O. Box 35705
  652.                 Houston, TX  77235-5705
  653.  
  654.     Phone:      800-2424-PSL
  655.                 713-524-6394
  656.  
  657.     FAX:        713-524-6398
  658.  
  659.     E-Mail:     CIS 71355,470
  660. SOFTWARE LICENSE
  661.  
  662.  
  663. LJVGA VGA/HP Laserjet Print Screen Utility
  664. Copyright (c) 1992 Ares Technologies.  All Rights Reserved.
  665.  
  666.  
  667. Notice:  By using LJVGA, you agree to be bound by the terms of
  668. this license.  If you do not agree with the conditions listed
  669. herein, you may not use LJVGA.  If you have any questions
  670. regarding your software license, please contact Ares Technologies
  671. at the address listed elsewhere in this document.
  672.  
  673.  
  674. You may use, copy, and distribute LJVGA for noncommercial
  675. purposes only, provided the following conditions are met:
  676.  
  677.     No fees may be charged for use or distribution.
  678.  
  679.     The program and accompanying documentation must be
  680. distributed in unmodified form.
  681.  
  682.     Reverse compilation, reverse engineering, or any other form
  683. of code decomposition is expressly prohibited.
  684.  
  685.     Clubs, user groups, and shareware distributors may charge a
  686. nominal fee for expenses and handling only while distributing
  687. LJVGA.  Operators of electronic bulletin board systems may charge
  688. only normal membership fees, and may not require additional fees
  689. for access to LJVGA.  Distributors are encouraged to register
  690. with Ares Technologies.  See the file SYSOP.TXT for additional
  691. information.
  692.  
  693.     Site and commercial licenses are available for LJVGA.  Please
  694. read the file REGISTER.TXT, or contact Ares Technologies for more
  695. information.
  696.  
  697.  
  698.  
  699.  
  700. Ares Technologies hereby disclaims all warranties relating to
  701. this software, express or implied, including without limitation
  702. any warranties of merchantability or fitness for a particular
  703. application.  Ares Technologies will not be liable for any
  704. damages, direct, consequential, or otherwise, suffered due to
  705. loss of data or any other reason, even if Ares Technologies has
  706. been advised of the possibly of such damage.  In no event shall
  707. Ares Technologies' liability for any such damages exceed the
  708. price paid for the license to use the software, regardless of the
  709. form of the claim.  The user of this software bears all risk as
  710. to the quality and performance of the software.
  711.  
  712.  
  713.